import axios from 'axios'

/**
 * 分镜服务接口
 */
export const storyboardApi = {
  /**
   * 生成分镜图片
   * @param prompt 图片描述词
   * @returns 生成的图片数据
   */
  async generateImage(prompt: string) {
    const response = await axios.post('/api/sd/generate', {
      prompt,
      negative_prompt: 'low quality, bad anatomy, worst quality, low quality',
      width: 512,
      height: 512,
      steps: 20,
      batch_size: 1
    })
    return response.data
  },

  /**
   * 生成图片变体
   * @param image 原始图片base64数据
   * @param prompt 图片描述词
   * @returns 生成的变体图片数据
   */
  async generateVariants(image: string, prompt: string) {
    const response = await axios.post('/api/sd/img2img', {
      init_images: [image],
      prompt,
      negative_prompt: 'low quality, bad anatomy, worst quality, low quality',
      width: 512,
      height: 512,
      steps: 20,
      denoising_strength: 0.75,
      batch_size: 4
    })
    return response.data
  },

  /**
   * 重新生成描述词
   * @param text 原始文本
   * @returns 生成的描述词
   */
  async regeneratePrompt(text: string) {
    const response = await axios.post('/api/chat/generate-prompt', {
      text
    })
    return response.data
  }
}
